`
`
Jeff Berlin - Virtuoso Bassist and Educator
“I feel a large part of music education is a disaster today. A lot of it is coming from people who don’t know how to teach”
Easy
## Wild Claims Continued ?
Quickie Route to Data Scientist
TI:GER, brings together graduate students in law, business, science, and engineering to work on start-up projects to transform highly promising research into economically viable projects.
Most of what I do (or try to) is based on the Lean Start-up Concept which relies heavily on “customer discovery”.
Lean Start-up avoids this by:
https://leanlaunchpad.stanford.edu/ https://steveblank.com/slides/lean-startup/
Using this approach I have:
In step 2, replace “sixth grader” with a term corresponding to a beginner relative to the topic of interest (e.g. “first year”)
“STOP PLAYING ALL THOSE WEIRD NOTES, PLAY THE MELODY”
“JUST BECAUSE YOU’RE NOT A DRUMMER, DOESN’T MEAN YOU DON’T HAVE TO KEEP TIME”
Everyone is responsible for maintaining a course rhythm
“Keeping time” means establishing a pace and reliable pulse
“STAY IN SHAPE! SOMETIMES A MUSICIAN WAITS FOR A GIG, & WHEN IT COMES, HE’S OUT OF SHAPE & CAN’T MAKE IT”
Being “in shape” refers to readiness for playing (not necessarily physical shape). Do your rehearsals and practice so you are ready for action.
In a linear regression model, how does \(R^2\) differ from Adjusted \(R^2\) ?
\[ RSS = \sum_{i=1}^n (y_i - f(x_i))^2 \] \[ TSS=\sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^2 \] \[ R^2 = 1 - {RSS\over TSS} \ \] \[ R^2 Adjusted = 1 - {{(1 - R^2)(N - 1)}\over N - p - 1} \] Discussion ? Where to Start ? Recitation of Learned Facts ?
Many of these have APIs (Application Programming Interfaces) that let you use your programming language of choice as a primary Interface
For advanced students give them the project all at once
For Intro classes cover each subtopic per week + Homework and Labs + Maybe a final project
For Intermediate classes do a combination + Have mid term and final projects + Some supporting homework
Pasta
Solving for \(\sqrt{S}\) is the same as solving \(f(x) = x^2 - S = 0\)
We can use Newton’s Method to iterate towards an answer:
\[x_{n+1} = x_{n} - \frac{f(x)_n}{f'(x)_n} = x_n - \frac{x_{n}^2 - S}{2x_n} = \frac{1}{2}(x_n + \frac{S}{x_n})\] Make a first guess and then compute \(x_{n+1}\) until \(x_{n+1}^2\) is close enough to S within some specified tolerance
Make a guess (e.g 2) of the square root of some number (e.g. 16)
Specify a tolerance level (e.g. 0.0001)
while the absolute value of the square of that guess minus
the number is >= than tolerance
compute a new guess
somenum <- 16
tolerance <- 0.0001
guess <- 2
# Note we have to use Absolute value since we
# are concerned with the magnitude of the difference
while( abs((guess^2)-somenum) >= tolerance) {
guess <- (guess + (somenum/guess)) * 0.5
}
guess
somenum <- 16
tolerance <- 0.0001
guess <- 2
# Write a Function to judge quality of computed guess
compare <- function(guess,target) {
diff <- abs((guess^2)-target)
return(diff)
}
while(compare(guess,target) >= tolerance) {
guess <- (guess + (target/guess)) * 0.5
}
guess
mySqrt <- function(target=16,guess=2,tolerance=0.0001,verbose=FALSE) {
while( abs((guess^2)-target) >= tolerance) {
guess <- (guess + (target/guess)) * 0.5
if (verbose) {
print(guess)
}
}
return(guess)
}
mySqrt <- function(target=16,guess=2,tolerance=0.0001,verbose=FALSE) {
compare <- function(guess,target) {
diff <- abs((guess^2)-target)
return(diff)
}
while(compare(guess,target) >= tolerance) {
guess <- (guess + (target/guess)) * 0.5
if (verbose) {
print(guess)
}
}
return(guess)
}
mySqrt(16,2,0.0001)
sapply(c(16,22,49,39),mySqrt)
# or
round(sapply(c(16,22,49,39),mySqrt),2)
# or
Sqrt <- function(input=c(16,22,49,39),rnd=2) {
retvec <- round(sapply(input,mySqrt),rnd)
return(retvec)
}
In 2011 this assignment was given in the "Paradigms for Computing’’ class at Stanford
Within 1 day this was found on the Stack Overflow site: